解説

入力値:構造体配列変数 InData [ I ] -> D : 直径( 倍精度実数 )  -> N : 本数

Imax 個のデータが入力された。
このデータは事前に直径の大きい順に並べ替えられているものとしている。
また、直径が同一のデータについては集約しておく。

直径が大きいものから順に円周上に配置していく。
直径が大きいものが外周に配置すると隙間が大きくなり不合理である。
初心者が隙間なく配置するにはこの程度のアルゴリズムで十分です。
プロ級になれば隙間を探してそこに配置するという
目で見て行う処理を仮想空間の中でコンピュータに処理させることになり
処理を定型化する困難が待ち受けている。

CircleDraw 画面上に円を描く関数。
CirclePrint プリンタへ出力する場合。
X:作画する円の中心位置のX座標 Y:作画する円の中心位置のY座標 R:作画する円の半径

* PipeCalcMain と同一の機能であるが配置位置を決定するアルゴリズムに若干の違いがある。

構造体  【 struct CalcData { float R; float Rc; float Ts; float Te; Int32 N; Int32 P; } ClData[20]; 】
を追加し、処理経過の段階において直径が同じデータの配置した時点で
配置情報を半径、ピッチ、起点の角度と終端の角度を構造体配列変数 ClData[ 20 ] に記録し
配置処理の効率を向上させている。